<?php

class blog_artigoModel extends Model{
    protected $model_label       = "Artigo";
    protected $model_description = "";
    protected $tabela = "blog_artigo";
    protected $pkey   = "cod_artigo";
    protected $dados = array(
        
        'cod_artigo' => array(
            'name'    => "Artigo",
            'pkey'    => true,
            'ai'      => true,
            'type'    => 'int',
            'size'    => '11',
            'grid'    => true,
            'display' => true,
            'private' => true,
            'notnull' => true
         ),
        
        'cod_categoria' => array(
            'name'        => 'Categoria',
            'notnull'     => true,
            'grid'        => true,
            'especial'    => 'session',
            'session'     => 'blog/categoria',
            'fkey'        => array(
                'model'         => 'blog/categoria',
                'cardinalidade' => '1n', //nn 1n 11
                'keys'          => array('cod_categoria', 'catnome')
            )
        ),
        
        'titulo' => array(
            'name'    => 'Titulo',
            'type'    => 'varchar',
            'seo'     => array('titulo' => true),
            'size'    => '128',
            'grid'    => true,
            'display' => true,
            'notnull' => true
        ),
        
        'resumo' => array(
            'name'    => 'Resumo',
            'seo'     => array('resumo' => true),
            'type'    => 'varchar',
            'size'    => '255',
            'especial'=> 'resumeof',
            'resumeof'=> 'conteudo',
            'display' => true,
            'notnull' => true
        ),

        'conteudo' => array(
            'name'    => 'Conteúdo',
            'type'    => 'text',
            'especial'=> 'editor',
            //'editor'   => array('format', 'align', 'list', 'link', 'history', 'font-size', 'font-family', 'color'),
            'notnull' => true
        ),
        
        'blog_artigo_autor' => array(
	    'name'     => 'Autor do Artigo',
	    'type'     => 'int',
	    'size'     => '11',
	    'notnull' => true,
	    'grid'    => true,
            'especial' => 'autentication',
            'autentication' => array('needlogin' => true),
	    'fkey' => array(
	        'model' => 'usuario/login',
	        'cardinalidade' => '1n',
	        'keys' => array('cod_usuario', 'user_name'),
                'onupdate' => 'cascade',
                'ondelete' => 'restrict'
	    ),
         ),
        
        'blog_artigo_criadoem' => array(
	    'name'     => 'Data de Criação',
	    'type'     => 'timestamp',
	    'notnull' => true,
	    'grid'    => true,
	    'display' => true,
            'default' => "CURRENT_TIMESTAMP",
            'especial' => 'hide'
        ),
        
        'destaque' => array(
            'name'      => 'Destaque',
            'type'      => 'enum',
            'default'   => 'n',
            'options'   => array(
                's' => 'Sim',
                'n' => 'Não'
            ),
            'grid'    => true,
            'notnull'   => true,
            'feature' => array(
                'feature_name'  => 'BLOG_ARTIGO_DESTAQUE',
                'feature_value' => 'true'
            )
       	 ),
        
        'blog_artigo_exibir' => array(
            'name'      => 'Exibir/Esconder',
            'type'      => 'enum',
            'default'   => 'exibir',
            'options'   => array(
                'exibir'   => 'Exibir',
                'esconder' => 'Esconder'
            ),
            'grid'    => true,
            'notnull'   => true
       	 ),
        
        'album' => array(
            'name'      => 'Fotos',
            'type' 	=> 'int',
            'notnull'   => true,
            'display' => true,
            'fkey'      => array(
                'model' 	=> 'galeria/album', 
                'keys'          => array('cod_album', 'cod_album'),
                'cardinalidade' => '11'//nn 1n 11
            ),
            'feature' => array(
                'feature_name'  => 'BLOG_ARTIGO_GALERIA',
                'feature_value' => 'true'
            )
         )
    );
    public function __construct() {
        if(RESUMO_EDITAVEL){
            unset($this->dados['resumo']['especial']);
            unset($this->dados['resumo']['resumeof']);
        }
        parent::__construct();
    }
    
    public function getDestaques($qtd = 12){
        $where = "`destaque` = 's'";
        $var = $this->selecionar(array('cod_artigo', 'titulo', 'album'), $where, $qtd, 0);
        $num = count($var);
        if($num < $qtd){
            $where = "`destaque` = 'n'";
            $arr = $this->selecionar(array('cod_artigo', 'titulo', 'album'), $where, $qtd-$num, 0);
            $var = array_merge($var, $arr);
        }
        return $var;
    }
    
    public function inserir($post){
        if(!RESUMO_EDITAVEL){$post['resumo'] = Resume($post['conteudo'], 255);}
        return parent::inserir($post);
    }
    
    public function editar($id, $post, $camp = "") {
        if(!RESUMO_EDITAVEL){$post['resumo'] = Resume($post['conteudo'], 255);}
        return parent::editar($id, $post, $camp);
    }

}

?>